Skip to content

[CI] Skip CI for non-runtime directories#7870

Open
EmmonsCurse wants to merge 4 commits into
PaddlePaddle:developfrom
EmmonsCurse:ci_optimize_dev_0520
Open

[CI] Skip CI for non-runtime directories#7870
EmmonsCurse wants to merge 4 commits into
PaddlePaddle:developfrom
EmmonsCurse:ci_optimize_dev_0520

Conversation

@EmmonsCurse

@EmmonsCurse EmmonsCurse commented May 20, 2026

Copy link
Copy Markdown
Collaborator

Motivation

Changes under documentation, tooling, benchmark, and auxiliary configuration directories do not affect runtime behavior directly. Running full CI for these modifications increases unnecessary resource usage and slows down development workflow.

Modifications

  • Added CI skip rules for changes under:
    • .claude/
    • benchmarks/
    • docs/
    • dockerfiles/
    • examples/
    • tools/
  • Reduced unnecessary CI triggering for non-runtime related changes.

Usage or Command

N/A

Accuracy Tests

N/A

Checklist

  • Add at least a tag in the PR title.
    • Tag list: [[FDConfig],[APIServer],[Engine], [Scheduler], [PD Disaggregation], [Executor], [Graph Optimization], [Speculative Decoding], [RL], [Models], [Quantization], [Loader], [OP], [KVCache], [DataProcessor], [BugFix], [Docs], [CI], [Optimization], [Feature], [Benchmark], [Others], [XPU], [HPU], [GCU], [DCU], [Iluvatar], [Metax]]
    • You can add new tags based on the PR content, but the semantics must be clear.
  • Format your code, run pre-commit before commit.
  • Add unit tests. Please write the reason in this PR if no unit tests.
  • Provide accuracy results.
  • If the current PR is submitting to the release branch, make sure the PR has been submitted to the develop branch, then cherry-pick it to the release branch with the [Cherry-Pick] PR tag.

@EmmonsCurse

Copy link
Copy Markdown
Collaborator Author

/skip-ci ci_iluvatar
/skip-ci ci_hpu
/skip-ci build_xpu
/skip-ci build_gpu

@paddle-bot

paddle-bot Bot commented May 20, 2026

Copy link
Copy Markdown

Thanks for your contribution!

PaddlePaddle-bot

This comment was marked as outdated.

PaddlePaddle-bot

This comment was marked as outdated.

@PaddlePaddle-bot

PaddlePaddle-bot commented May 20, 2026

Copy link
Copy Markdown

🤖 Paddle-CI-Agent | ci_status_monitor | 2026-05-28 12:24:41

CI报告基于以下代码生成(30分钟更新一次):


1 任务总览

Required 任务当前无失败、无运行中、无等待中;本 PR 属于 CI skip 规则调整,部分测试任务按跳过逻辑被跳过。建议重点关注 Optional 失败任务是否需要人工确认;Required 侧暂无阻塞。

总执行(rerun次数) 总任务 ✅ 通过 ❌ 失败 ⏳ 运行中 ⏸️ 等待中 跳过
42(0) 42 24 1 0 0 17

2 任务状态汇总

2.1 Required任务 : 2/10 通过

必选任务阻塞合并,失败需优先处理。当前 Required 无失败/运行中/等待中;其余 Required 任务因 skip 规则跳过。

状态 任务 耗时 根因 修复建议 日志 重跑
其余 2 个必选任务通过 - - - - -
⏭️ 8 个必选任务跳过 - CI skip 规则触发 无需处理 - -

2.2 可选任务 — 22/32 通过

可选任务不阻塞合并,失败仅供参考。

状态 任务 耗时 日志 重跑
Trigger Jenkins for PR 22s Job -
其余 22 个可选任务通过 - - -
⏭️ 9 个可选任务跳过 - - -

3 失败详情(仅 required)

无 required 失败任务。本次未调用深度失败分析;Optional 失败任务不阻塞合并,仅在上方可选任务区展示。

PaddlePaddle-bot

This comment was marked as outdated.

PaddlePaddle-bot

This comment was marked as outdated.

PaddlePaddle-bot

This comment was marked as outdated.

@EmmonsCurse

Copy link
Copy Markdown
Collaborator Author

/skip-ci all

PaddlePaddle-bot

This comment was marked as outdated.

@EmmonsCurse EmmonsCurse changed the title [CI] Skip CI for non-runtime directories and add unittest Claude skill [CI] Skip CI for non-runtime directories May 28, 2026
PaddlePaddle-bot

This comment was marked as outdated.

@PaddlePaddle-bot PaddlePaddle-bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤖 Paddle-CI-Agent | pr_review | 2026-06-17 17:14:02

📋 Review 摘要

PR 概述:调整 check-bypass.yml 的 docs-only/非运行时目录跳过规则。
变更范围.github/workflows/check-bypass.yml
影响面 Tag[CI]

问题

级别 文件 概述
🔴 Bug .github/workflows/check-bypass.yml:75 目录级白名单会把包含构建脚本、Dockerfile、示例测试和 benchmark 代码的变更判定为 docs-only,从而跳过构建/测试 job

📝 PR 规范检查

Checklist 中 "Add unit tests" 项未勾选且未在 PR 中说明原因,模板要求 "Please write the reason in this PR if no unit tests"。建议在描述中补充说明(如:本 PR 仅修改 CI 配置与文档,无需添加单元测试)。

标题建议:标题合规,无需修改。

PR 描述建议(点击展开,可直接复制)
## Motivation
Changes under documentation, tooling, benchmark, and auxiliary configuration directories do not affect runtime behavior directly. Running full CI for these modifications increases unnecessary resource usage and slows down development workflow.

Additionally, Claude skill documentation for FastDeploy unit test writing is added to improve development guidance and workflow standardization.

## Modifications
- Added CI skip rules for changes under:
  - `.claude/`
  - `benchmarks/`
  - `docs/`
  - `dockerfiles/`
  - `examples/`
  - `tools/`
- Added:
  - `.claude/skills/write-fastdeploy-unittest/SKILL.md`
  - `.claude/skills/write-fastdeploy-unittest/README.md`
- Reduced unnecessary CI triggering for non-runtime related changes.

## Usage or Command
N/A

## Accuracy Tests
N/A

## Checklist

- [x] Add at least a tag in the PR title.
  - Tag list: [`[FDConfig]`,`[APIServer]`,`[Engine]`, `[Scheduler]`, `[PD Disaggregation]`, `[Executor]`, `[Graph Optimization]`, `[Speculative Decoding]`, `[RL]`, `[Models]`, `[Quantization]`, `[Loader]`, `[OP]`, `[KVCache]`, `[DataProcessor]`, `[BugFix]`, `[Docs]`, `[CI]`, `[Optimization]`, `[Feature]`, `[Benchmark]`, `[Others]`, `[XPU]`, `[HPU]`, `[GCU]`, `[DCU]`, `[Iluvatar]`, `[Metax]`]
  - You can add new tags based on the PR content, but the semantics must be clear.
- [x] Format your code, run `pre-commit` before commit.
- [ ] Add unit tests. Please write the reason in this PR if no unit tests.
  - 本 PR 仅修改 CI 配置与文档文件(`.github/workflows/``.claude/skills/`),无需添加单元测试。
- [ ] Provide accuracy results.
- [ ] If the current PR is submitting to the `release` branch, make sure the PR has been submitted to the `develop` branch, then cherry-pick it to the `release` branch with the `[Cherry-Pick]` PR tag.

总体评价

本次变更会扩大 can-skip-docs 的触发范围,但新增目录中存在会影响构建、镜像、示例执行和 benchmark 行为的文件类型。建议先收窄跳过规则,只对明确低风险的文档/说明类文件生效。


can_skip_docs=true
for f in $files; do
if [[ "$f" =~ ^\.claude/ || "$f" =~ ^benchmarks/ || "$f" =~ ^docs/ || "$f" =~ ^dockerfiles/ || "$f" =~ ^examples/ || "$f" =~ ^tools/ ]]; then

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔴 Bug 这里把整个 benchmarks/dockerfiles/examples/tools/ 目录都当成 docs-only 跳过,会漏跑真实构建/测试风险。

check-only-docs 的结果在后续 final-output 中会直接变成 can-skip=true,而 _build_linux.yml_unit_test_coverage.yml_build_xpu.yml 等 job 都用 needs.check_bypass.outputs.can-skip != 'true' 控制执行。当前仓库这些目录包含 tools/dockerfile/Dockerfile.citools/deep_gemm_pre-compile/*.pydockerfiles/Dockerfile.gpuexamples/.../test.shbenchmarks/*.py 等可执行或构建相关文件;只要 PR 只改其中任意文件,就会跳过构建和测试,导致 runtime、镜像或示例脚本回归无法被 CI 捕获。

建议修复方式:
不要按目录整体 continue。把 docs-only 规则收敛为明确低风险文件类型/子路径,例如只允许 docs/**.claude/**、以及这些目录中的 *.md 文档文件跳过;对 *.py*.shDockerfile*requirements*.txt*.yaml 等会影响执行、构建或环境的文件保持 can_skip_docs=false

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants